$(function () {
	var ctx = $('#ctx').val();
	/***************************    读取保存的session数据    ***************************/
	if (typeof (parent.quantityList2) != "undefined") {
		var quantityList2 = parent.quantityList2;
		$('#quantityTable tbody').empty();
		quantityList2.forEach(function (item) {
			var oTr = $('<tr class="tbodyTr"></tr>');
			$('#quantityTable').append(oTr);
			for (var i = 0; i < $('#quantityTable thead th').length; i++) {
				var oTd = $('<td class="tbodyTd"></td>');  // 创建三个td
				oTr.append(oTd);
			}
			var oCheckBox = $('<div class="checkboxStyleTd"></div>');
			oTr.children('td').eq(0).append(oCheckBox);  // 第一列内容
			colVal(oTr, item.date, item.click, item.show);
		});
	}
	/*  dsp -- 定量设置   */
	$('#add').on('click', function () {  // 新增
		var oTr = $('<tr class="tbodyTr"></tr>');
		$('#quantityTable').append(oTr);
		for (var i = 0; i < $('#quantityTable thead th').length; i++) {
			var oTd = $('<td class="tbodyTd"></td>');  // 创建三个td
			oTr.append(oTd);
		}
		var oCheckBox = $('<div class="checkboxStyleTd"></div>');
		oTr.children('td').eq(0).append(oCheckBox);  // 第一列内容
		colVal(oTr);
		return false;
	});
	// 针对页面上已有的tr的第二、三列进行双击事件
	for (var i = 0; i < $('#quantityTable tbody tr').length; i++) {
		var oTr = $('#quantityTable tbody tr').eq(i);
		var oTd2 = oTr.children().eq(1);
		var oTd3 = oTr.children().eq(2);
		var oTd4 = oTr.children().eq(3);
		fnDate(oTd2, oTd2.children('input'));
		if (oTd3.html() != '') {
			fnDbclick(oTd3, oTd3.children('input'));
		}
		if (oTd4.html() != '') {
			fnDbclick(oTd4, oTd4.children('input'));
		}
	}

	$('#quantityDel').click(function () {
		$('#quantityTable > tbody  > tr').each(function () {
			var changeClass = $(this).children('td').children('div').attr('class');
			if (changeClass.indexOf('checkboxStyle_change') != -1) {
				//remove td element in tbody
				$(this).remove();
			}
		});
		return false;
	});

	$('.quantitySave').click(function () {
		var adGroupId = $('#adGroupId').val();
		var quantityList = [];
		$('#quantityTable > tbody > tr').each(function () {
			var quantityobj = {};
			quantityobj.show = $(this).find("[name=show]").text();
			quantityobj.click = $(this).find("[name=click]").text();
			quantityobj.date = $(this).find("[name=date]").text();
			quantityList.push(quantityobj);
		});
		parent.$("#quantityObj").val(JSON.stringify(quantityList));
		parent.quantityList2 = quantityList;
		var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
		parent.layer.close(index);//再执行关闭
	});
});

//创建第二、三列的内容
function colVal(tr, date, click, show) {
	var init = 0; // 初始值
	var myDate = new Date();
	var iYear = addZero(myDate.getFullYear()); // 年
	var iMonth = addZero(myDate.getMonth() + 1); // 月
	var iDay = addZero(myDate.getDate()); // 日
	var iTime = iYear + '-' + iMonth + '-' + iDay;

	var td1 = tr.children('td').eq(1);  // 第二列
	var td2 = tr.children('td').eq(2); // 第三列
	var td3 = tr.children('td').eq(3); // 第四列
	column(td1, date ? date : iTime, 'ipNum', 'date');
	column(td2, click ? click : init, 'ipNum', 'click');
	column(td3, show ? show : init, 'ipNum', 'show');
	fnDate(td1, td1.children('input'), iTime);  // 第二列的双击
	fnDbclick(td2, td2.children('input'));  // 第三列的双击
	fnDbclick(td3, td3.children('input'));  // 第四列的双击
}

//单位数的时间补零，比如1月5日，就变成 01:05
function addZero(num) {
	if (num <= 9) {
		return '0' + num;
	}
	else {
		return '' + num;
	}
}


function column(td, _value, className, name) { //创建span和input
	var oSpan = $('<span></span>');
	oSpan.attr('name', name);
	oSpan.html(_value);
	td.append(oSpan);
	var oInput = $('<input type="text" value="" />');
	oInput.addClass(className);
	oInput.val(oSpan.html());
	td.append(oInput);
}

// 第二列input双击
function fnDate(td, inp, date) {
	td.dblclick(function () {
		$(this).parent().addClass('active');
		inp.val($(this).children('span').html());
		inp.select(); // input全选
		$(this).children('span').hide();
		inp.attr('type', 'text');
		inp.addClass('ipNum-2');
		$('.ipNum-2').fdatepicker().focus().click(); // 双击之后马上出发日期插件
		fnblur(inp);
	})
}

//第二列点击新日期后的 >= input失去焦点
function fnDateBlur(ele, value) {
	ele.siblings('span').show().html(value);
	ele.removeClass('ipNum-2');
	ele.attr('type', 'hidden');
}

// 第二列双击弹出日历后，没点击新日期后的失去焦点事件
function fnblur(ele) {
	ele.blur(function () {
		ele.siblings('span').show().html(ele.val());
		ele.removeClass('ipNum-2');
		ele.attr('type', 'hidden');
	})
}

// 第三列input双击
function fnDbclick(td, inp) {
	td.dblclick(function () {
		$(this).parent().addClass('active');
		inp.val($(this).children('span').html());
		inp.select(); // input全选
		$(this).children('span').hide();
		inp.addClass('ipNum-3');
		fnKeyup(inp);
		fnBlur(td.parent(), inp);
		return false;
	})
}

// 第三列input失去焦点时
function fnBlur(tr, inp) {
	inp.blur(function () {
		var newText = $(this).val();
		if (newText == '') {
			newText = 0;
		}
		$(this).siblings('span').show().html(newText);
		$(this).removeClass('ipNum-3');
		if (tr.hasClass('active')) {
			//btnColor( tr );
		}
		return false;
	})
}

//如果输入非数字，则替换为''
function fnKeyup(inp) {
	inp.keyup(function () {  // keyup事件
		var txt = $(this).val();
		$(this).val(txt.replace(/\D/g, ''));
	}).bind("paste", function () {          // CTR+V事件  
		var txt = $(this).val();
		$(this).val(txt.replace(/\D/g, ''));
	}).css("ime-mode", "disabled");     // CSS设置输入法不可用
}

function unique(arr) {
	var result = [], hash = {};
	for (var i = 0, elem; (elem = arr[i]) != null; i++) {
		if (!hash[elem]) {
			result.push(elem);
			hash[elem] = true;
		}
	}
	return result;
}
